﻿#define _CRT_SECURE_NO_WARNINGS

//题目叙述：
//给你一个数组 nums 和一个值 val，你需要原地移除所有数值等于 val 的元素，并返回移除后数组的新长度。
//不要使用额外的数组空间，你必须仅使用 O(1)额外空间并原地修改输入数组。
//元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

//算法：
int removeElement(int* nums, int numsSize, int val) {
    int src = 0;
    int dest = 0;
    while (src < numsSize)
    {
        if (nums[src] != val)
        {
            nums[dest] = nums[src];
            dest++;
            src++;
        }
        else
        {
            src++;
        }
    }

    return dest;
}